package fiuba.algo3.gpschallenge.Controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import fiuba.algo3.gpschallenge.modelo.Juego;

public class Controlador {

	private Juego modelo;
	
	
	public Controlador (Juego modelo){
		this.modelo = modelo;
	}
	
	private class movimientosListener implements KeyListener{
	
		@Override
		public void keyPressed(KeyEvent e){
			int teclaPresionada = e.getKeyCode();
				
			if ((teclaPresionada == KeyEvent.VK_UP) || (teclaPresionada == KeyEvent.VK_W)){
				modelo.getJugador().moverseArriba (modelo.getMapa());
			}
			if ((teclaPresionada == KeyEvent.VK_DOWN) || (teclaPresionada == KeyEvent.VK_S)){
				modelo.getJugador().moverseAbajo (modelo.getMapa());
			}
			if ((teclaPresionada == KeyEvent.VK_RIGHT) || (teclaPresionada == KeyEvent.VK_D)){
				modelo.getJugador().moverseDerecha (modelo.getMapa());
			}
			if ((teclaPresionada == KeyEvent.VK_LEFT) || (teclaPresionada == KeyEvent.VK_A)){
				modelo.getJugador().moverseIzquierda (modelo.getMapa());
			}		
		}
		@Override
		public void keyReleased(KeyEvent e) {
			// TODO Auto-generated method stub		
		}
		@Override
		public void keyTyped(KeyEvent e) {
			// TODO Auto-generated method stub		
		}
	}
	
	private class botonSalirListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e){
			System.exit(0);
		}
	}
	

	public KeyListener getMovimientosListener(){
		return new movimientosListener();
	}
	
	public ActionListener getBotonSalirListener(){
		return new botonSalirListener();
	}
}

